package user

import (
	"database/sql"
	"time"
)

type GfyxUserPo struct {
	// id
	Id int64 `gorm:"primary_key"`
	// uuid ，用于兼容历史数据
	Uid string `gorm:"column:uid" json:"uid"`
	// 网站帐号默认情况按规则生成
	Account string `gorm:"column:account" json:"account"`
	// 用户名称
	Name string `gorm:"column:name" json:"name"`
	// 手机号
	Mobile string `gorm:"column:mobile" json:"mobile"`
	// 邮箱
	Email string `gorm:"column:email" json:"email"`
	// 职位
	Position string `gorm:"column:position" json:"position"`
	// 盐
	Salt string `gorm:"column:salt" json:"salt"`
	// 密码
	Password string `gorm:"column:password" json:"password"`
	// 来源 1 新增 2导入 3 建模用户
	Source int8 `gorm:"column:source" json:"source"`
	// 状态，1 启用 2 未启用
	Status int32 `gorm:"column:status" json:"status"`
	// 是否管理员
	IsAdmin        int32 `gorm:"column:is_admin" json:"is_admin"`
	ForbiddenScene int32 // 被禁用的场景，0-默认，1-权益到期的禁用
	// 最后一次修密码时间
	LastSetPasswordTime sql.NullTime `gorm:"column:last_set_password_time" json:"last_set_password_time"`
	// 创建时间
	CreatedOn time.Time `gorm:"column:created_on" json:"created_on"`
	// 创建人
	CreatedBy string `gorm:"column:created_by" json:"created_by"`
	// 更新时间
	ModifiedOn time.Time `gorm:"column:modified_on" json:"modified_on"`
	// 更新人
	ModifiedBy string `gorm:"column:modified_by" json:"modified_by"`
	//创建时间
	IsDeleted int32 `gorm:"column:is_deleted" json:"is_deleted"`
}

func (p GfyxUserPo) TableName() string {
	return "gfyx_user"
}

type MyUserPo struct {
	Buguid       string    `json:"buguid,omitempty"`
	CreatedTime  time.Time `json:"createdtime"`
	Email        string    `json:"email,omitempty"`
	IsAdmin      int64     `json:"isadmin,omitempty"`
	IsDisabeld   int32     `json:"isdisabeld,omitempty"`
	MobilePhone  string    `json:"mobilephone,omitempty"`
	ModifiedTime time.Time `json:"modifiedtime"`
	Password     string    `json:"password,omitempty"`
	Position     string    `json:"position,omitempty"`
	Salt         string    `json:"salt,omitempty"`
	UserCode     string    `json:"usercode,omitempty"`
	UserGUID     string    `json:"userguid,omitempty"`
	UserKind     int32     `json:"userkind,omitempty"`
	UserName     string    `json:"username,omitempty"`
}

func (m MyUserPo) TableName() string {
	return "myUser"
}
